import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { UserService } from './user/user.service';
import { UserController } from './user/user.controller';
import { ListController } from './list/list.controller';
import { ListService } from './list/list.service';
import { UserModule } from './user/user.module';
import { ListModule } from './list/list.module';
import { ConfigModule } from './config/config.module';
import { UploadModule } from './upload/upload.module';
import { TestModule } from './test/test.module';
import { LoginModule } from './login/login.module';
import { GuardModule } from './guard/guard.module';
//装饰器
/**
 * 根模块装饰器，用于定义应用程序的全局模块
 * @module 装饰器，用于定义一个模块
 * @AppModule 模块类，包含应用程序的所有组件、服务和其他模块
 * @imports 一个空数组，表示没有引入其他模块
 * @controllers 包含一个应用控制器(AppController)
 * @providers 包含一个应用服务(AppService)
 */
@Module({
  imports: [
    UserModule,
    ListModule,
    ConfigModule.forRoot({
      path: '/user',
    }),
    UploadModule,
    TestModule,
    LoginModule,
    GuardModule,
  ],
  controllers: [AppController, UserController, ListController], //控制器数组，配置路由
  providers: [AppService, UserService, ListService],
})
export class AppModule {}
